With the explosion in quantity of and uses for digital images has come the need for efficient tools to manipulate those images. Image resizing is a fundamental and extremely important type of image manipulation. Any image resizing technique that can perform image resizing efficiently or that can be combined easily with other image processing functions is therefore of great value.
To resize a digital image, an image processing system typically performs two operations on the image: sampling rate change and lowpass filtering. To reduce an image to one-quarter of its original size (one-half in each dimension), a typical resizing technique first applies an anti-aliasing lowpass filter, then downsamples by two in each dimension. Typically, both the lowpass filtering and the downsampling (or decimation) are accomplished in the pixel domain.
To enlarge an image to four times its original size, the typical technique upsamples by two in each dimension, then applies an anti-imaging lowpass filter for interpolation. Again, both the upsampling (or interpolation) and the filtering are performed in the pixel domain.
Another method for reducing the size of an image is to apply a forward discrete cosine transform (DCT) to an image, followed by applying a smaller inverse discrete cosine transform (IDCT) as compared to the forward DCT. Such a system for reducing an image is disclosed in U.S. Pat. No. 5,262,854, issued Nov. 16, 1993, and incorporated herein by reference. However, image resizing using multiple domain image processing is generally complicated, costly, and not very rapid.
The discrete cosine transform (DCT) has become an important technique for image compression and constitutes the basis for many compression standards, e.g., the Joint Picture Experts Group (JPEG) image compression standard and the Moving Picture Experts Group (MPEG) video compression standard. Efficient techniques for computing a DCT have been and continue to be developed. It is also possible to use the DCT to implement digital filters as disclosed in S. A. Martucci, "Digital Filtering Of Images Using The Discrete Sine Or Cosine Transform," SPIE Vol. 2308 Visual Communications and Image Processing '94, (Chicago, Ill.), pp. 1322-1333, September 1994 (Martucci I) and S. A. Martucci, "Symmetric Convolution And The Discrete Sine And Cosine Transforms," IEEE Transactions on Signal Processing, vol. 42, pp. 1038-1051, May 1994 (Martucci II).
The DCT can be used to apply these filters on the image as a whole, on blocks that overlap before or after the transform then combined appropriately to give the same result as a linear convolution over the whole image, or on non-overlapping blocks that are processed independently of one another. Because the DCT implements a symmetric convolution, which implies smooth symmetric extensions at the image block boundaries, there are little to no visible artifacts resulting from this non-overlapping block processing. The advantages of using such blocks include the significant reduction in the complexity of the filtering operation and the ability to apply the filters on the same DCT coefficients computed for coding.
Heretofore, the DCT transform has been utilized solely for its filtering role and has not been used in the decimation/interpolation process. Therefore, there is a need in the art to combine, within an image resizing process, both a filtering function and a decimation/interpolation function within the DCT domain.